package cn.tedu.smartos.volunteer.mapper;

import cn.tedu.smartos.activity.pojo.vo.ActivityVO;
import cn.tedu.smartos.baseuser.pojo.entity.User;
import cn.tedu.smartos.volunteer.pojo.dto.ActivityQueryParam;
import cn.tedu.smartos.volunteer.pojo.entity.PointsExchange;
import cn.tedu.smartos.volunteer.pojo.entity.PointsGoods;
import cn.tedu.smartos.volunteer.pojo.entity.VolunteerInfo;
import cn.tedu.smartos.volunteer.pojo.entity.VolunteerSchedule;
import cn.tedu.smartos.volunteer.pojo.vo.VolunteerInfoVO;
import io.lettuce.core.dynamic.annotation.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface VolunteerMapper {
    User selectUserByUsername(@Param("username") String username);

    int updateUser(User user);

    int updatePassword(@Param("username") String username, @Param("password") String password);

    VolunteerInfoVO selectVolunteerInfoByUserId(@Param("userId") Long userId);

    List<PointsGoods> selectAllPointsGoods();

    int insertPointsExchange(PointsExchange pointsExchange);

    int updateVolunteerPoints1(@Param("volunteerId") Long volunteerId, @Param("points") Integer points);

    List<PointsExchange> selectPointsExchangesByUserId(@Param("userId") Long userId);
    Integer selectCurrentPointsByUserId(@Param("userId") Long userId);
    VolunteerInfo selectByUserId(@Param("userId") Long userId);
    //List<VolunteerSchedule> selectByVolunteerId(@Param("volunteerId") Long volunteerId);
    int updateByPrimaryKeySelective(VolunteerSchedule record);
    VolunteerSchedule selectScheduleById(@Param("scheduleId") Long scheduleId);
}